import type { computeFnType } from "../commonType";

/**
 * 
 * @param a 加数
 * @param b 加数
 * @returns 和
 */
export const add: computeFnType = (a, b) => {
    // a = parseFloat(String(a));
    // b = parseFloat(String(b));
    return fixDecimal(a + b);
}

/**
 * 
 * @param a 被减数
 * @param b 减数
 * @returns 差
 */
export const minus: computeFnType = (a, b) => {
    return fixDecimal(a - b);
}

/**
 * 
 * @param a 因数
 * @param b 因数
 * @returns 积
 */
export const multiply: computeFnType = (a, b) => {
    return fixDecimal(a * b);
}

/**
 * 求余
 * @param a 被除数
 * @param b 除数
 * @returns 商
 */
export const divide: computeFnType = (a, b) => {
    return fixDecimal(a / b);
}

/**
 * 求余
 * @param a 被除数
 * @param b 除数
 * @returns 求余结果
 */
export const surplus: computeFnType = (a, b) => {
    return fixDecimal(a % b);
}

/**
 * todo 自定义数值结果长度
 * @param num 不定长度的数值
 * @returns 不定长度的数值
 */
function fixDecimal(num: number): number {
    // len = len || 12;
    // return Number(num.toFixed(9))
    return num;
}